1. Field of the Invention
The present invention is directed to a system that performs streaming of multimedia data between a server processor and a client processor based on the capabilities of the client and, more particularly, to a system in which the server obtains from the client information about the streaming capabilities and specifications of the client, can obtain information from a user about streaming preferences and performs streaming of multimedia from the server to the client based on the results obtained.
2. Description of the Related Art
In typical media-on-demand multimedia streaming products, such as the Silicon Graphics, Inc. (SGI) Cosmo MediaBase(trademark) 1.0, the multimedia streaming is entirely controlled by the server side of the software. All the user, at the client end, does is to click on the Universal Resource Locator (URL) associated with the multimedia asset, and the client gets the video/multimedia streams that are streamed across the network to the client. There is no negotiation involved between the client (processor) and the server (processor), and the delivery properties for streams are decided based on the asset properties determined at installation time. Other products, such as one from Xing Technologies, allows users to set some firewall specific parameters, which influence how the stream is delivered to the client.
A client-server interaction is characterized by an initial service request from the client to the server. The client request describes the service requested, which enables the server to service the request. In application scenarios like media streaming, it helps the decision making process on the server machine to know client preferences, capabilities and other relevant information.
In multimedia data streaming, as noted above, the data transfer is entirely controlled by the server. There is no negotiation involved between the client and the server, and the delivery properties for the delivered audio/video (multimedia) streams are predetermined based on the properties of the multimedia asset determined during installation. This can be very restrictive in certain situations, and this also puts minimum hardware and software requirements on the various clients which can get attached to the server and playback multimedia data. Typical requirements for a PC to act as a MediaBase client are  greater than 150 Mhz Pentium(trademark) PC with greater than 32 MB of memory. Currently there is no way to distinguish between different clients, their hardware and software capabilities, and use that information to do intelligent streaming of multimedia data by the server.
What is needed is a system in which the server obtains information concerning client data receipt capabilities and user preferences and performs intelligent data transfer based on the capabilities and preferences.
It is an object of the present invention to provide a system in which the server is aware of the client hardware and software capabilities, client specifications and the user preferences when the server is servicing a client request.
It is another object of the present invention to provide a system in which the server makes intelligent decisions about the media streaming or data transfer process.
It is also an object of the present invention to provide a system that does not have any minimum client system requirements but which adapts to the capabilities of the client.
It is another object of the present invention to provide a system that streams multimedia data on demand, such as video/audio on demand.
It is a further object of the present invention to provide a system that adapts the media format to the client capabilities and adapts the streaming process according to the client capabilities and user specifications.
It is also an object of the present invention to allocate resources on the server, client and network based on the client capabilities and user specifications.
It is an object of the present invention to optimize playback of the asset to the client based on the client capabilities and user specifications or preferences.
The above objects can be attained by a system in which a server processor coupled to a client processor receives client processor capabilities in association with a request for service for a multimedia type data transfer. The server determines the characteristics of the transfer to the client based on the capabilities and preferences. The server can also obtain the preferences of the user for the transfer and respond based on the preferences. The capabilities and preferences can be obtained via a query from the server to the client or can be automatically sent with each request.
These together with other objects and advantages which will be subsequently apparent, reside in the details of construction and operation as more fully hereinafter described and claimed, reference being had to the accompanying drawings forming a part hereof, wherein like numerals refer to like parts throughout.